package sixth.group.domain;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class LogsExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public LogsExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andLidIsNull() {
            addCriterion("lid is null");
            return (Criteria) this;
        }

        public Criteria andLidIsNotNull() {
            addCriterion("lid is not null");
            return (Criteria) this;
        }

        public Criteria andLidEqualTo(Integer value) {
            addCriterion("lid =", value, "lid");
            return (Criteria) this;
        }

        public Criteria andLidNotEqualTo(Integer value) {
            addCriterion("lid <>", value, "lid");
            return (Criteria) this;
        }

        public Criteria andLidGreaterThan(Integer value) {
            addCriterion("lid >", value, "lid");
            return (Criteria) this;
        }

        public Criteria andLidGreaterThanOrEqualTo(Integer value) {
            addCriterion("lid >=", value, "lid");
            return (Criteria) this;
        }

        public Criteria andLidLessThan(Integer value) {
            addCriterion("lid <", value, "lid");
            return (Criteria) this;
        }

        public Criteria andLidLessThanOrEqualTo(Integer value) {
            addCriterion("lid <=", value, "lid");
            return (Criteria) this;
        }

        public Criteria andLidIn(List<Integer> values) {
            addCriterion("lid in", values, "lid");
            return (Criteria) this;
        }

        public Criteria andLidNotIn(List<Integer> values) {
            addCriterion("lid not in", values, "lid");
            return (Criteria) this;
        }

        public Criteria andLidBetween(Integer value1, Integer value2) {
            addCriterion("lid between", value1, value2, "lid");
            return (Criteria) this;
        }

        public Criteria andLidNotBetween(Integer value1, Integer value2) {
            addCriterion("lid not between", value1, value2, "lid");
            return (Criteria) this;
        }

        public Criteria andLroleIsNull() {
            addCriterion("lrole is null");
            return (Criteria) this;
        }

        public Criteria andLroleIsNotNull() {
            addCriterion("lrole is not null");
            return (Criteria) this;
        }

        public Criteria andLroleEqualTo(Integer value) {
            addCriterion("lrole =", value, "lrole");
            return (Criteria) this;
        }

        public Criteria andLroleNotEqualTo(Integer value) {
            addCriterion("lrole <>", value, "lrole");
            return (Criteria) this;
        }

        public Criteria andLroleGreaterThan(Integer value) {
            addCriterion("lrole >", value, "lrole");
            return (Criteria) this;
        }

        public Criteria andLroleGreaterThanOrEqualTo(Integer value) {
            addCriterion("lrole >=", value, "lrole");
            return (Criteria) this;
        }

        public Criteria andLroleLessThan(Integer value) {
            addCriterion("lrole <", value, "lrole");
            return (Criteria) this;
        }

        public Criteria andLroleLessThanOrEqualTo(Integer value) {
            addCriterion("lrole <=", value, "lrole");
            return (Criteria) this;
        }

        public Criteria andLroleIn(List<Integer> values) {
            addCriterion("lrole in", values, "lrole");
            return (Criteria) this;
        }

        public Criteria andLroleNotIn(List<Integer> values) {
            addCriterion("lrole not in", values, "lrole");
            return (Criteria) this;
        }

        public Criteria andLroleBetween(Integer value1, Integer value2) {
            addCriterion("lrole between", value1, value2, "lrole");
            return (Criteria) this;
        }

        public Criteria andLroleNotBetween(Integer value1, Integer value2) {
            addCriterion("lrole not between", value1, value2, "lrole");
            return (Criteria) this;
        }

        public Criteria andLusernameIsNull() {
            addCriterion("lusername is null");
            return (Criteria) this;
        }

        public Criteria andLusernameIsNotNull() {
            addCriterion("lusername is not null");
            return (Criteria) this;
        }

        public Criteria andLusernameEqualTo(String value) {
            addCriterion("lusername =", value, "lusername");
            return (Criteria) this;
        }

        public Criteria andLusernameNotEqualTo(String value) {
            addCriterion("lusername <>", value, "lusername");
            return (Criteria) this;
        }

        public Criteria andLusernameGreaterThan(String value) {
            addCriterion("lusername >", value, "lusername");
            return (Criteria) this;
        }

        public Criteria andLusernameGreaterThanOrEqualTo(String value) {
            addCriterion("lusername >=", value, "lusername");
            return (Criteria) this;
        }

        public Criteria andLusernameLessThan(String value) {
            addCriterion("lusername <", value, "lusername");
            return (Criteria) this;
        }

        public Criteria andLusernameLessThanOrEqualTo(String value) {
            addCriterion("lusername <=", value, "lusername");
            return (Criteria) this;
        }

        public Criteria andLusernameLike(String value) {
            addCriterion("lusername like", value, "lusername");
            return (Criteria) this;
        }

        public Criteria andLusernameNotLike(String value) {
            addCriterion("lusername not like", value, "lusername");
            return (Criteria) this;
        }

        public Criteria andLusernameIn(List<String> values) {
            addCriterion("lusername in", values, "lusername");
            return (Criteria) this;
        }

        public Criteria andLusernameNotIn(List<String> values) {
            addCriterion("lusername not in", values, "lusername");
            return (Criteria) this;
        }

        public Criteria andLusernameBetween(String value1, String value2) {
            addCriterion("lusername between", value1, value2, "lusername");
            return (Criteria) this;
        }

        public Criteria andLusernameNotBetween(String value1, String value2) {
            addCriterion("lusername not between", value1, value2, "lusername");
            return (Criteria) this;
        }

        public Criteria andLtypeIsNull() {
            addCriterion("ltype is null");
            return (Criteria) this;
        }

        public Criteria andLtypeIsNotNull() {
            addCriterion("ltype is not null");
            return (Criteria) this;
        }

        public Criteria andLtypeEqualTo(String value) {
            addCriterion("ltype =", value, "ltype");
            return (Criteria) this;
        }

        public Criteria andLtypeNotEqualTo(String value) {
            addCriterion("ltype <>", value, "ltype");
            return (Criteria) this;
        }

        public Criteria andLtypeGreaterThan(String value) {
            addCriterion("ltype >", value, "ltype");
            return (Criteria) this;
        }

        public Criteria andLtypeGreaterThanOrEqualTo(String value) {
            addCriterion("ltype >=", value, "ltype");
            return (Criteria) this;
        }

        public Criteria andLtypeLessThan(String value) {
            addCriterion("ltype <", value, "ltype");
            return (Criteria) this;
        }

        public Criteria andLtypeLessThanOrEqualTo(String value) {
            addCriterion("ltype <=", value, "ltype");
            return (Criteria) this;
        }

        public Criteria andLtypeLike(String value) {
            addCriterion("ltype like", value, "ltype");
            return (Criteria) this;
        }

        public Criteria andLtypeNotLike(String value) {
            addCriterion("ltype not like", value, "ltype");
            return (Criteria) this;
        }

        public Criteria andLtypeIn(List<String> values) {
            addCriterion("ltype in", values, "ltype");
            return (Criteria) this;
        }

        public Criteria andLtypeNotIn(List<String> values) {
            addCriterion("ltype not in", values, "ltype");
            return (Criteria) this;
        }

        public Criteria andLtypeBetween(String value1, String value2) {
            addCriterion("ltype between", value1, value2, "ltype");
            return (Criteria) this;
        }

        public Criteria andLtypeNotBetween(String value1, String value2) {
            addCriterion("ltype not between", value1, value2, "ltype");
            return (Criteria) this;
        }

        public Criteria andLtimeIsNull() {
            addCriterion("ltime is null");
            return (Criteria) this;
        }

        public Criteria andLtimeIsNotNull() {
            addCriterion("ltime is not null");
            return (Criteria) this;
        }

        public Criteria andLtimeEqualTo(Date value) {
            addCriterion("ltime =", value, "ltime");
            return (Criteria) this;
        }

        public Criteria andLtimeNotEqualTo(Date value) {
            addCriterion("ltime <>", value, "ltime");
            return (Criteria) this;
        }

        public Criteria andLtimeGreaterThan(Date value) {
            addCriterion("ltime >", value, "ltime");
            return (Criteria) this;
        }

        public Criteria andLtimeGreaterThanOrEqualTo(Date value) {
            addCriterion("ltime >=", value, "ltime");
            return (Criteria) this;
        }

        public Criteria andLtimeLessThan(Date value) {
            addCriterion("ltime <", value, "ltime");
            return (Criteria) this;
        }

        public Criteria andLtimeLessThanOrEqualTo(Date value) {
            addCriterion("ltime <=", value, "ltime");
            return (Criteria) this;
        }

        public Criteria andLtimeIn(List<Date> values) {
            addCriterion("ltime in", values, "ltime");
            return (Criteria) this;
        }

        public Criteria andLtimeNotIn(List<Date> values) {
            addCriterion("ltime not in", values, "ltime");
            return (Criteria) this;
        }

        public Criteria andLtimeBetween(Date value1, Date value2) {
            addCriterion("ltime between", value1, value2, "ltime");
            return (Criteria) this;
        }

        public Criteria andLtimeNotBetween(Date value1, Date value2) {
            addCriterion("ltime not between", value1, value2, "ltime");
            return (Criteria) this;
        }

        public Criteria andLoperationIsNull() {
            addCriterion("loperation is null");
            return (Criteria) this;
        }

        public Criteria andLoperationIsNotNull() {
            addCriterion("loperation is not null");
            return (Criteria) this;
        }

        public Criteria andLoperationEqualTo(String value) {
            addCriterion("loperation =", value, "loperation");
            return (Criteria) this;
        }

        public Criteria andLoperationNotEqualTo(String value) {
            addCriterion("loperation <>", value, "loperation");
            return (Criteria) this;
        }

        public Criteria andLoperationGreaterThan(String value) {
            addCriterion("loperation >", value, "loperation");
            return (Criteria) this;
        }

        public Criteria andLoperationGreaterThanOrEqualTo(String value) {
            addCriterion("loperation >=", value, "loperation");
            return (Criteria) this;
        }

        public Criteria andLoperationLessThan(String value) {
            addCriterion("loperation <", value, "loperation");
            return (Criteria) this;
        }

        public Criteria andLoperationLessThanOrEqualTo(String value) {
            addCriterion("loperation <=", value, "loperation");
            return (Criteria) this;
        }

        public Criteria andLoperationLike(String value) {
            addCriterion("loperation like", value, "loperation");
            return (Criteria) this;
        }

        public Criteria andLoperationNotLike(String value) {
            addCriterion("loperation not like", value, "loperation");
            return (Criteria) this;
        }

        public Criteria andLoperationIn(List<String> values) {
            addCriterion("loperation in", values, "loperation");
            return (Criteria) this;
        }

        public Criteria andLoperationNotIn(List<String> values) {
            addCriterion("loperation not in", values, "loperation");
            return (Criteria) this;
        }

        public Criteria andLoperationBetween(String value1, String value2) {
            addCriterion("loperation between", value1, value2, "loperation");
            return (Criteria) this;
        }

        public Criteria andLoperationNotBetween(String value1, String value2) {
            addCriterion("loperation not between", value1, value2, "loperation");
            return (Criteria) this;
        }

        public Criteria andLremarkIsNull() {
            addCriterion("lremark is null");
            return (Criteria) this;
        }

        public Criteria andLremarkIsNotNull() {
            addCriterion("lremark is not null");
            return (Criteria) this;
        }

        public Criteria andLremarkEqualTo(String value) {
            addCriterion("lremark =", value, "lremark");
            return (Criteria) this;
        }

        public Criteria andLremarkNotEqualTo(String value) {
            addCriterion("lremark <>", value, "lremark");
            return (Criteria) this;
        }

        public Criteria andLremarkGreaterThan(String value) {
            addCriterion("lremark >", value, "lremark");
            return (Criteria) this;
        }

        public Criteria andLremarkGreaterThanOrEqualTo(String value) {
            addCriterion("lremark >=", value, "lremark");
            return (Criteria) this;
        }

        public Criteria andLremarkLessThan(String value) {
            addCriterion("lremark <", value, "lremark");
            return (Criteria) this;
        }

        public Criteria andLremarkLessThanOrEqualTo(String value) {
            addCriterion("lremark <=", value, "lremark");
            return (Criteria) this;
        }

        public Criteria andLremarkLike(String value) {
            addCriterion("lremark like", value, "lremark");
            return (Criteria) this;
        }

        public Criteria andLremarkNotLike(String value) {
            addCriterion("lremark not like", value, "lremark");
            return (Criteria) this;
        }

        public Criteria andLremarkIn(List<String> values) {
            addCriterion("lremark in", values, "lremark");
            return (Criteria) this;
        }

        public Criteria andLremarkNotIn(List<String> values) {
            addCriterion("lremark not in", values, "lremark");
            return (Criteria) this;
        }

        public Criteria andLremarkBetween(String value1, String value2) {
            addCriterion("lremark between", value1, value2, "lremark");
            return (Criteria) this;
        }

        public Criteria andLremarkNotBetween(String value1, String value2) {
            addCriterion("lremark not between", value1, value2, "lremark");
            return (Criteria) this;
        }

        public Criteria andLuptimeIsNull() {
            addCriterion("luptime is null");
            return (Criteria) this;
        }

        public Criteria andLuptimeIsNotNull() {
            addCriterion("luptime is not null");
            return (Criteria) this;
        }

        public Criteria andLuptimeEqualTo(Date value) {
            addCriterion("luptime =", value, "luptime");
            return (Criteria) this;
        }

        public Criteria andLuptimeNotEqualTo(Date value) {
            addCriterion("luptime <>", value, "luptime");
            return (Criteria) this;
        }

        public Criteria andLuptimeGreaterThan(Date value) {
            addCriterion("luptime >", value, "luptime");
            return (Criteria) this;
        }

        public Criteria andLuptimeGreaterThanOrEqualTo(Date value) {
            addCriterion("luptime >=", value, "luptime");
            return (Criteria) this;
        }

        public Criteria andLuptimeLessThan(Date value) {
            addCriterion("luptime <", value, "luptime");
            return (Criteria) this;
        }

        public Criteria andLuptimeLessThanOrEqualTo(Date value) {
            addCriterion("luptime <=", value, "luptime");
            return (Criteria) this;
        }

        public Criteria andLuptimeIn(List<Date> values) {
            addCriterion("luptime in", values, "luptime");
            return (Criteria) this;
        }

        public Criteria andLuptimeNotIn(List<Date> values) {
            addCriterion("luptime not in", values, "luptime");
            return (Criteria) this;
        }

        public Criteria andLuptimeBetween(Date value1, Date value2) {
            addCriterion("luptime between", value1, value2, "luptime");
            return (Criteria) this;
        }

        public Criteria andLuptimeNotBetween(Date value1, Date value2) {
            addCriterion("luptime not between", value1, value2, "luptime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}